import { Type } from 'class-transformer';
import {
  IsNotEmpty,
  IsOptional,
  Min,
  Max,
  IsInt,
  IsPositive,
} from 'class-validator';

// 搜索验证
export class CustomerSearchDto {
  // 用户id
  @IsOptional()
  @Type(() => Number)
  @IsNotEmpty({ message: 'id不能为空' })
  id: number;

  // 区域id
  @IsOptional()
  @Type(() => Number)
  @Min(0, { message: '区域代码最小为 $constraint1' })
  @Max(999999, { message: '区域代码最大为 $constraint1' })
  area: string;

  // 员工id
  @Type(() => Number)
  @IsNotEmpty({ message: '年龄不能为空' })
  @IsPositive({ message: '年龄需要为正整数' })
  employee_id: number;

  // 页码（最小为1）
  @IsOptional()
  @Type(() => Number)
  @IsInt({ message: '页码需要为数字' })
  @Min(1, { message: '页码最小为 $constraint1' })
  page: number = 1;

  // 每页显示的条数（最小为10）
  @IsOptional()
  @Type(() => Number)
  @IsInt({ message: '显示条数需要为数字' })
  @Min(1, { message: '显示条数最小为 $constraint1' })
  pageSize: number = 10;
}
